package cn.xinfei.xdecision.common.model.component;

import cn.xinfei.xdecision.common.utils.enums.enginex.ComponentStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.List;

/**
 * 组件规则列表
 */
@Data
@Accessors(chain = true)
public class ComponentVo {

    @ApiModelProperty("组件id")
    private Long id;

    @ApiModelProperty("组件编码")
    private String code;

    @ApiModelProperty("组件版本号")
    private Long versionNo;

    @ApiModelProperty("组件版本id")
    private Long versionId;

    @ApiModelProperty("组件名称")
    private String name;

    @ApiModelProperty("组件描述")
    private String description;

    /**
     * @see ComponentStatusEnum
     */
    @ApiModelProperty("组件状态")
    private Integer status;

    @ApiModelProperty("组件状态描述")
    private String statusDesc;

    @ApiModelProperty("创建人")
    private Long createUserId;

    @ApiModelProperty("更新人")
    private Long updateUserId;

    @ApiModelProperty("创建人")
    private String createName;

    @ApiModelProperty("更新人")
    private String updateUserName;

    @ApiModelProperty("组件版本信息")
    private List<ComponentVersionVo> versionList;
}
